home *** CD-ROM | disk | FTP | other *** search
Text File | 1997-08-18 | 506 b | 34 lines | [TEXT/R*ch] |
- fun even 0 = true
- | even x = odd(x-1)
- and odd 0 = false
- | odd x = even(x-1);
-
- even 10; even 11;
-
- datatype 'a X = X of string;
-
- val stripX = fn X u => u;
- fn _ => stripX (X "OK");
- it () : string;
-
- val stripX666 = fn X "666" => X "000" | x => x;
-
- fn _ => stripX666 (X "666");
- it () : int X;
-
- fn _ => stripX666 (X "OK");
- it () : int X;
-
- datatype XXX =
- A of int * int
- | B of int * int;
-
- val a12 = A(1,2)
- and b12 = B(1,2);
-
- fun strip (A x) = x
- | strip (B x) = x;
-
- a12 = b12;
- strip a12 = strip b12;
-